import { defineStore } from 'pinia'
import { ref } from 'vue'
// 测试用的
export const useUserInfoStore = defineStore(
  'userInfo', 
  () => {
    const userInfo = ref()
    const setUserInfo = (val:string) => {
      userInfo.value = val
    }
    // 清理用户信息，退出时使用
    const clearUserInfo = () => {
      userInfo.value = undefined
    }
    return {
      userInfo,
      setUserInfo,
      clearUserInfo,
    }
  }, {
    // 重要：模块必须开启持久化，才会持久化！！！
    // 注意：默认持久化，只在H5端有效，因为默认使用的是localStorage，小程序端不能使用这个API，所以需要重写存取方法，转调给UniApp的持久化方法，类型暂定
    persist: true,
	// 小程序端的持久化存储
    // persist: {
    //     // 默认值，就是使用localStorage
    //     // storage: localStorage
    //     // 重写存取方法，转调给UniApp
    //     storage: {
    //         getItem(key:string) {
    //             return uni.getStorageSync(key)
    //         },
    //         setItem(key:string, val:string) {
    //             uni.setStorageSync(key, val)
    //         }
    //     }
    // }
  }
)
